const {ccclass, property} = cc._decorator;

@ccclass
export default class Helloworld extends cc.Component {
    onLoad() {
        console.log("可写路径:" + jsb.fileUtils.getWritablePath());
    }

    onBtnLoadRemoteBundle() {
        /**
         * 如果发布的时候配置了远程服务器地址例如: http://127.0.0.1/remote-asset-bundle
         * 可以直接调用，cc.assetManager.loadBundle('A')，来加载Bundle A，cocos会现在本地找A，如果没找到
         * 会去远程服务器上尝试加载A
         * 需要保证在远程服务器上 http://127.0.0.1/remote-asset-bundle 路径下存在 /remote/A
         * 发布的时候配置远程服务器地址的时候，鼠标悬停会有提示 “请在构建后将remote文件夹上传到该服务器”
         * 
         * 有没有配置资源服务器地址，最终会修改 build/jsb-default/src/setting.js，中的server字段
         */

         /**
          * isRemote标志是否从远程加载bundle
          * 没有配置资源服务器地址的时候，从远程加载 isRemote = true
          * 配置了资源服务器地址的时候，isRemote = false，加载bundle就像从本地加载一样，cocos会从本地找A，如果没找到会去远程服务器尝试加载A
          */
        let isRemote = false;

        cc.assetManager.loadBundle(isRemote ? 'http://127.0.0.1/remote-asset-bundle/A': 'A', {onFileProgress: function(loaded, total) {
            console.log("loaded / total = " + loaded + " / " + total);
        }}, (err, bundle) => {
            if (err) {
                return console.error(err);
            }
            console.log("Bundle A 加载成功");
        });
    }

    onBtnLoadScene() {
        let A = cc.assetManager.getBundle('A');
        if (A) {
            A.loadScene('SceneA', function(err, scene) {
                cc.director.runScene(scene);
            });
        }
    }
}
